package com.ruoyi.system.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 拼团活动对象 super_group_activity
 * 
 * @author xjf
 * @date 2025-08-13
 */
public class SuperGroupActivity extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 拼团活动id */
    @Excel(name = "拼团活动id")
    private Long id;

    /** 商品id */
    @Excel(name = "商品id")
    private Long productId;

    /** 拼团价格 */
    @Excel(name = "拼团价格")
    private BigDecimal groupPrice;

    /** 成团最低人数 */
    @Excel(name = "成团最低人数")
    private Long minSize;

    /** 活动开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
    @Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date startTime;

    /** 活动结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
    @Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date endTime;

    /** 活动库存 */
    @Excel(name = "活动库存")
    private Long stock;

    /** 已售 */
    @Excel(name = "已售")
    private Long count;

    /** 是否删除 0正常 1删除 */
    private Long del;
    /** 关联对象：商品 */
    private SuperProduct product;
    public void setId(Long id) 
    {
        this.id = id;
    }

    public SuperProduct getProduct() {
        return product;
    }

    public void setProduct(SuperProduct product) {
        this.product = product;
    }

    public Long getId()
    {
        return id;
    }

    public void setProductId(Long productId) 
    {
        this.productId = productId;
    }

    public Long getProductId() 
    {
        return productId;
    }

    public void setGroupPrice(BigDecimal groupPrice) 
    {
        this.groupPrice = groupPrice;
    }

    public BigDecimal getGroupPrice() 
    {
        return groupPrice;
    }

    public void setMinSize(Long minSize) 
    {
        this.minSize = minSize;
    }

    public Long getMinSize() 
    {
        return minSize;
    }

    public void setStartTime(Date startTime) 
    {
        this.startTime = startTime;
    }

    public Date getStartTime() 
    {
        return startTime;
    }

    public void setEndTime(Date endTime) 
    {
        this.endTime = endTime;
    }

    public Date getEndTime() 
    {
        return endTime;
    }

    public void setStock(Long stock) 
    {
        this.stock = stock;
    }

    public Long getStock() 
    {
        return stock;
    }

    public void setCount(Long count) 
    {
        this.count = count;
    }

    public Long getCount() 
    {
        return count;
    }

    public void setDel(Long del) 
    {
        this.del = del;
    }

    public Long getDel() 
    {
        return del;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("productId", getProductId())
            .append("groupPrice", getGroupPrice())
            .append("minSize", getMinSize())
            .append("startTime", getStartTime())
            .append("endTime", getEndTime())
            .append("stock", getStock())
            .append("count", getCount())
            .append("del", getDel())
                .append("product", getProduct())
            .toString();
    }
}
